home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / asmutil / disasm.zip / SIDEWAYS.BAS < prev    next >
BASIC Source File  |  1988-06-03  |  2KB  |  49 lines

  1. 10 REM ----------------------- BANNER PROGRAM ---------------------------------
  2. 20 REM ------------ free software , by Barry Roth, revised 8/08/83 ------------
  3. 30 CLS:LOCATE ,,1:DEFINT A-Z:DIM P(8,8)
  4. 40 PRINT "                             BANNER PROGRAM"
  5. 50 PRINT "Wilmington, DE - PC Professional Users Group  - revised 08/08/83 "
  6. 60 PRINT "a banner program using ROM dot patterns for the first 128 ASCII characters"
  7. 70 PRINT:PRINT "enter the character to be used in printing the banner (for example, 'X')"
  8. 80 PRINT "or press return to use the entered character (i.e. g will be formed with 'g') ";
  9. 90 A$=INKEY$:IF A$="" THEN GOTO 90
  10. 100 PRINT A$:PRINT:PRINT "enter the banner scale (1 for 24 characters wide, 2 for 48, or 3 for 72) ";
  11. 110 B$=INKEY$:IF B$="" THEN GOTO 110
  12. 120 D=INT(VAL(B$)):IF D<1 OR D>3 THEN GOTO 100
  13. 130 PRINT D:PRINT:PRINT "get your printer ready and then press any key to start ";
  14. 140 B$=INKEY$:IF B$="" THEN GOTO 140
  15. 150 PRINT:PRINT
  16. 160 PRINT "begin typing your banner (press return at any time to end this program)"
  17. 170 PRINT "have patience, the printer will take time to print each character"
  18. 180 PRINT
  19. 190 DEF SEG=&HF000
  20. 200 N$=INKEY$:IF N$="" THEN GOTO 200
  21. 210 IF ASC(N$)=13 THEN GOTO 480
  22. 220 PRINT N$;
  23. 230 IF ASC(A$)=13 THEN C$=N$ ELSE C$=A$
  24. 240 IF D=1 THEN AA$=C$+C$+C$
  25. 250 IF D=2 THEN AA$=C$+C$+C$+C$+C$+C$
  26. 260 IF D=3 THEN AA$=C$+C$+C$+C$+C$+C$+C$+C$+C$
  27. 270 AN=&HFA6E+8*ASC(N$)-1
  28. 280 FOR I=1 TO 8     
  29. 290 N=PEEK(AN+I)
  30. 300 IF N>=128 THEN N=N-128:P(I,1)=1 ELSE P(I,1)=0
  31. 310 IF N>= 64 THEN N=N- 64:P(I,2)=1 ELSE P(I,2)=0
  32. 320 IF N>= 32 THEN N=N- 32:P(I,3)=1 ELSE P(I,3)=0
  33. 330 IF N>= 16 THEN N=N- 16:P(I,4)=1 ELSE P(I,4)=0
  34. 340 IF N>=  8 THEN N=N-  8:P(I,5)=1 ELSE P(I,5)=0
  35. 350 IF N>=  4 THEN N=N-  4:P(I,6)=1 ELSE P(I,6)=0
  36. 360 IF N>=  2 THEN N=N-  2:P(I,7)=1 ELSE P(I,7)=0
  37. 370 IF N>=  1 THEN         P(I,8)=1 ELSE P(I,8)=0
  38. 380 NEXT I
  39. 390 FOR II=1 TO 8
  40. 400 FOR DD=1 TO D
  41. 410 LPRINT SPACE$((3-D)*12);
  42. 420 FOR III=8 TO 1 STEP -1
  43. 430 IF P(III,II)>0 THEN LPRINT AA$; ELSE LPRINT SPACE$(3*D);
  44. 440 NEXT III
  45. 450 LPRINT:NEXT DD
  46. 460 NEXT II
  47. 470 LPRINT:GOTO 200
  48. 480 PRINT:PRINT"end of BANNER PROGRAM":PRINT:END
  49.